Management device for name of virtual port

ABSTRACT

A method is provided with which a name of a virtual port is not changed when virtualized storage is moved among switches. Information about a creator and a borrower of name information is added to a table including name information and address information of a virtual port of a name server managing the name information and the address information. The name information is provided to plural switches and managed. In addition, name information, which can be used commonly among name servers managing the name information and the address information is pooled in advance, and the name information of the virtual port is borrowed from there.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a switch-based (storage) virtualization technique in a storage area network (SAN), and relates to a management method for a name which is given to a port of a switch providing a virtualized storage.

2. Description of the Prior Art

In the Fibre Channel (FC)-SAN environment, or the IP-SAN environment using the internet Small Computer System Interface (iSCSI) obtained by encapsulating the Small Computer System Interface (SCSI) in the Transmission Control Protocol/Internet Protocol (TCP/IP), an apparatuses such as a server or a storage is treated as a node. To identify a node in the SAN, in the FC-SAN each node has 24-bit address information called a port ID and 64-bit name information called a World Wide Name (WWN) by a unit of port. In addition, in the IP-SAN, each node has 32-bit address information in Ipv4 or 128-bit address information in Ipv6 called an IP address, 48-bit address information called a Media Access Control (MAC) address, and 255-byte name information called an iSCSI name by a unit of port.

The name information cannot be changed because it is generated based upon information permanently allocated to hardware of a node. Programs of a Simple Name Server (SNS) in the FC-SAN, an internet Storage Name Server (iSNS) in the IP-SAN, and the like are executed, whereby a relation between the name information and the address information or the like is managed, and the information is provided. After acquiring or setting the address information, the node connected to the SAN registers the name information and the address information of its own in a table held by an apparatus having these programs (e.g., see Tom Clark “SAN, Implementation of Practical Fibre Channel Storage Area Network”, Piason Education, Dec. 25, 2000, p. 40-42, and 76-83, or Mike Frase, “Troubleshooting Storage Networks”, [online], [retrieved on Jan. 10, 2003], Internet <URL: http:www.cisco.com/networkers/nw02/post/presentations/docs/OPT-350.pdf>).

In a switch providing a storage virtualization mechanism in the SAN environment, a volume or a logical unit (LU) of a virtualized storage is provided by a unit of port (e.g., see Mogi Ryuta, “Realize Functional Reinforcement and Package Management of a SAN through Virtualization of a Storage”, Nikkei Windows Pro, August 2002 (No. 65), p. 13-15). In the following description, a port providing a volume or an LU of a virtualized storage is referred to as a virtual port.

BRIEF SUMMARY OF THE INVENTION

With the switch-based storage virtualization, allocation and rearrangement of storage areas in storage systems of plural vendors connected to a network can be performed without depending upon a physical configuration of the storage systems. Here, the storage system is assumed to be a system including plural storage devices and a storage control device for controlling the plural storage devices. However, in the related art, when a virtual port is continuously used with the same name information, only use in a switch is considered. In future, it is likely that the name information of the virtual port is changed by movement or reconstitution of the virtualized storage among plural switches, replacement of the switch providing the virtualized storage, or the like. In a server which is required of high availability, it is not allowed to interrupt operation processing by change of the name information of the virtualized storage.

This invention provides a method of maintaining and managing name information of a virtual port for preventing the situation as described above. To do so, a switch in accordance with the present invention adds information on a generator and a borrower of name information to a table including information for managing name information and address information of a virtual port and lends and borrows the name information among plural switches or to and from a replaced switch.

In addition, the switch in accordance with the present invention pools name information, which can be used commonly among switches having a name server program for managing name information and address information of a virtual port or switches having a representative name server program, in advance and borrows the name information of the virtual port from there.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram showing an example of a structure of an SAN and virtual ports;

FIG. 2 is a diagram showing an example of a structure of FC switches;

FIG. 3 is a diagram showing an example of a structure of a storage system;

FIG. 4 is a diagram showing an outline of a procedure for logging in an FC fabric;

FIG. 5 is a diagram showing an example of a structure of a name management table generated in a switch 101;

FIG. 6 is a diagram showing an example of a structure of a name management table generated in a switch 101A;

FIG. 7 is a diagram showing an example of a structure of a name management table generated in a switch 101B;

FIG. 8 is a diagram showing an example of a structure of a name management table generated in the switch 101A;

FIG. 9 is a diagram showing an example of a structure of a name management table generated in the switch 101B;

FIG. 10 is a flowchart describing an example of an update processing for a virtual port in the switch 101B;

FIG. 11 is a view showing an example of a structure of a name management table generated in the switch 101A;

FIG. 12 is a diagram showing an example of a structure of a name management table generated in the switch 101B;

FIG. 13 is a diagram showing an example of an update processing flow in a moving destination switch of a virtual port;

FIG. 14 is a diagram showing an example of a structure of a name management table generated in the switch 101A;

FIG. 15 is a diagram showing an example of a structure of a name management table generated in the switch 101A;

FIG. 16 is a diagram showing an example of a structure of a name management table generated in the switch 101B;

FIG. 17 is a diagram showing an example of a generation processing flow for a virtual port in a switch;

FIG. 18 is a diagram showing an example of an update processing flow in the switch 101B;

FIG. 19 is a diagram showing an example of a structure of a storage system incorporating a switch function; and

FIG. 20 is a diagram showing an example of a structure of an SAN including the storage system incorporating a switch function.

DETAILED DESCRIPTION OF THE INVENTION

A first embodiment of the present invention will be described with reference to FIGS. 1 to 13. In the first embodiment, the case in which maintenance and management of name information of virtual ports are performed by lending and borrowing of the name information among plural switches in an SAN will be described.

FIG. 1 is a diagram showing an example of a structure of an SAN including plural switches. The switches include FC switches and IP switches. An SAN 100 comprises plural switches 101A, 101B, and 101C (the switches will be hereinafter generally referred to as switch 101). A server apparatus (hereinafter referred to as server) 102 is connected to the switch 101C. Examples of the server include a UNIX server, a PC server, and a mainframe. In FIG. 1, storage systems 103A, 103B, and 103C are connected to the switch 101A, and a storage system 103D is connected to the switch 101B (the storage systems will be hereinafter generally referred to as storage system 103). Note that types of the storage system include an entry class, a mid-range class, and a high-end class.

The storage system 103 has a port 104 for making connection with the switch 101 and the server 102, and plural storage devices 105 are connected under the port 104. In the case in which a virtualized storage is used in the switch 101, a virtual port 110 and a virtualized storage 111 under the virtual port 110 are prepared. FIG. 1 shows an example in which a virtualized storage 111A of a virtual port 110A corresponds to a logical unit of a storage device 105A of the storage system 103A and a logical unit of a storage device 105B of the storage system 103B. The other virtualized storages will be described in the following embodiments. Note that the server 102 and the storage system 103 as well as the server 102 and the switch 101 may be formed in a redundant structure with high availability (HA). That is, although the respective components are connected by a single line, they may be connected by plural lines.

FIG. 2 is a diagram showing an example of a structure of the switch 101 (FC switch in this context) shown in FIG. 1. The switch 101 includes: plural link interfaces 201, which control a physical layer and a data link layer of a Fibre Channel for connecting the other switches 101, the server 102, the storage system 103, and the like; plural routing processors 202 which perform decision of a link interface to be a destination and conversion of contents of a packet, if necessary, based upon information of a header of data link layer or upper layers or information part of a packet sent and received; a switch manager 204 which performs device management of the switch 101 and calculation of a routing protocol; and a cross-bar switch 203 which connects the plural routing processors 202 and the switch manager 204. The switch 101 is connected to the storage system 103 having the port 104.

The link interface 201 has a port 208.

The routing processor 202 includes: a searching engine 202B which searches a header of a packet; a memory 202C which stores routing information and the like for the searching engine 202B to search a header; a forwarding engine 202A which rewrites a part of information in a packet when the packet is transferred to the routing processor 202 to be a destination or is virtualized according to a result of searching of the searching engine 202B; a CPU 202D which controls the entire routing processor 202; and a main memory 202E which stores programs and data.

The switch manager 204 includes: a CPU 204B which controls the entire switch manager 204; a main memory 204C which stores programs and data; a management interface 204D, and a switch interface controller 204A for communicating with the routing processor 202 or the like connected to the cross-bar switch 203. A management terminal 207 (e.g., a dam terminal, a console terminal, etc.) or an ordinary PC (not shown) is connected to the management interface 204D by a serial cable, an Ethernet cable, or the like.

As programs and tables (software and tables are encircled in the figure), which are used in executing the respective programs, stored in the main memory 202E of the routing processor 202, there are an operating system (hereinafter referred to as OS) 206A, a communication program 206B for communicating with the switch manger 204, a routing table 206C which is a copy of a routing table 205C2 generated by executing a routing protocol program 205C1 described later, and the like.

Similarly, as programs and tables, which are used in executing the respective programs, stored in the main memory 204C of the switch manager 204, there are an OS 205A, a switch management program 205B1 and a configuration and Management Information Base (MIB) table 205B2 therefor, a routing protocol program 205C1 such as Fabric Shortest Path First (FSPF) and a routing table 205C2 therefor, a name server program 205D1 such as an SNS for managing a name of a node apparatus to be connected to the switch 101 and a name management table 205D2 therefor, a login server program 205E for giving a port ID to a node apparatus to be connected to a network (fabric) of an FC, a volume management program 205F1 for constituting a virtualized storage with a logical unit of the storage system 103 to be connected and a volume management table 205F2 therefor, and the like.

Note that the FC switch shown in FIG. 2 may be an Ethernet switch using the Ethernet. The Ethernet switch is different from the FC switch in that the link interface 201 controls a physical layer or the like of the Ethernet, a Routing Information Protocol (RIP) and an Open Shortest Path First (OSPF) are treated in the routing protocol program 205C1, the name server program 205D1 is treated in an iSNS, a program corresponding to the login server program 205E is unnecessary, a hardware unprocessable packet program for performing processing which cannot be handled only by hardware is necessary, when there is an option information in the packet of the 206.

FIG. 3 is a diagram showing an example of a structure of the storage system 103 shown in FIG. 1 (a Redundant Arrays of Inexpensive (Independent) Disks (RAID) in this context).

The storage system 103 comprises: plural channel adapters 301 which have plural ports 104 for connecting the switch 101, the server 102, and the like; disk adapters 303 for accessing the plural storage devices 304; a cache memory switch 302 which connects the plural channel adapters 301 and the plural disk adapters 303; a storage manager 305 which performs system management and volume management of the storage system 103; a storage systems interconnect controller 306 for connecting the storage systems via the switch 101, and the like.

The storage manager 305 includes: a CPU 305B which controls the entire storage manager 305; a main memory 305C which stores programs and data; a management interface 305D, and a module interface controller 305A for controlling modules such as the channel adapters 301.

As representative programs and tables, which are used in executing the respective programs, stored in the main memory 305C of the storage manager 305, there are an OS 306A, a storage configuration management program 306B1 and a configuration management table 306B2 therefor, a volume management program for a logical unit in the storage system 103 and a volume management program 306C1 for constituting a virtualized storage and a volume management table 306C2 therefor, and the like.

The following description will be made using the FC switch shown in FIG. 2 as the switch 101. The case in which the Ethernet switch is used will be omitted because a description thereof will be the same.

FIG. 4 is a diagram showing an outline of a login procedure in the case in which the server 102 and the storage system 103, which are connected to the SAN 100, are connected to a FC fabric which is a network for a Fibre Channel.

In the IP network, an IP address may be set statically or may be set dynamically according to a Dynamic Host Configuration Protocol (DHCP). In the Fibre Channel, only an address called a port ID is dynamically set. The server 102 and the storage system 103 first send requests for fabric login (FLOGI) 404A and 404B to the switch 101 (a port ID to be a destination is 0xFFFFFE), and the switch 101 executes the login server program 205E, thereby sending messages Accept 405A and 405B allocating port IDs to the server 102 and the storage system 103 which have sent the requests. Next, the server 102 and the storage system 103 send requests for port login (PLOGI) 406A and 406B to the switch 101 (a port ID to be a destination is 0xFFFFFC), and the switch 101 executes the name server program 205D1, thereby registering a port ID, a port type, a port name, a service class to be supported, and the like in the name management table 205D2 and sends messages Accept 407A and 407B of completion of the registration to the server 102 and the storage system 103 which have sent the request. Thereafter, for example, the server 102 performs port login in order to use the storage system 103 and establishes communication of the data link layer of the Fibre Channel.

FIG. 5 is a diagram showing an example of a structure of the name management table 205D2 which is generated by executing the name server program 205D1 of the switch 101 in the login procedure shown in FIG. 4.

As information of an entry 510 for each port, other than a port ID 502 of 24 bits, a port type 503, and a World Wide Port Name (WWPN) 504 which is a 64-bit port name, with respect to a request for port login from the storage system 103, there are Logical Unit Number (LUN) 506 which is a number of the logical unit incorporated in the storage system 103, an 64-bit LUN WWN 507 which is a name of the LUN, MAP information 505 which represents mapping of the WWPN 504 and the LUN 506, and a World Wide Node Name (WWNN) 501 which is a node name for each switch. In addition, one row in which these pieces of information are stored is hereinafter referred to as an entry (510).

In the example of FIG. 5, four entries are used for connection with the server 102 (port type 503 is F_port) and four entries are used for connection with the other switches 101 (port type 503 is E_port). A word “actual” is affixed to the port type in order to distinguish the port type from a virtual port which may appear in the following description. Values of the port ID 502, the WWPN 504, and the LUN WWN 507 are hereinafter represented by a hexadecimal digit. Note that the WWPN 504 is owned by the switch 101, the server 102, or the storage system 103. However, the values of a hexadecimal digit shown below are not examples of a value with which those the switch 101, the server 102, and the storage system 103 can be distinguished.

FIG. 6 is a diagram showing an example of a structure of a name management table 205D2 which is generated by executing the name server program 205D1 of the switch 101A shown in FIG. 1. In the example of FIG. 6, seven entries are used in the connection with the storage systems 103A, 103B, and 103C (port type 503 is F_port as in the server 102), and four entries are used in the connection with the switches 101B and 101C. Map information 505 of the WWPN 504 and the LUN 506 is indicated by arrows for ease of explanation.

First, a virtualized storage 111A and the virtual port 110A shown in FIG. 1 are as indicated by an entry 610E (port type 503 is virtual F_port), and becomes a virtualized storage using logical units of entries 610B and 610D according to MAP information 505 indicated by dotted line.

When the virtualized storage 111A corresponding to logical units of the storage devices 105A and 105B in FIG. 1 is moved to a logical unit of the storage device 105C of the storage system 103C as indicated by arrow 120, the MAP information 505 changes to mapping indicated by bold line from mapping indicated by dotted line (the virtualized storage 111A changes to a virtualized storage corresponding to an entry 610H). That is, with the movement of a virtualized storage in the switch 101, only the MAP information 505 change, and a port ID 602 and a WWPN 604 do not change.

Next, the structure of the name management table 205D2 will be described in an association with FIG. 2. For example, it is assumed that an LUN of a storage system corresponding to an entry 610A of FIG. 6 corresponds to a port 104A of the storage system in FIG. 2. In this case, a host accesses the port 104A of the storage system from a port 208C of a switch (a port ID of this port is 0x020100 corresponding to the port ID 502 of the entry 610A) through a port 208A of a switch (a port ID of this port is 0x02A100 corresponding to the port ID 502 of the entry 610I).

Next, it is assumed that the port 208B corresponds to the entry 610E of FIG. 6. In this case, the host accesses a virtual port (an port ID of this port is 0x02B100 corresponding to the port ID 502 of the entry 610E) from the port 208B. Since the MAP information 505 of the entry 610E indicates LUNs of the entries 610B and 610D, the host accesses the port 104A of the storage system from a port 208C of the switch or accesses the port 104B of the storage system from a port 208D of the switch (a port ID of this port is 0x020200 corresponding to the port ID 502 of the entry 610D) depending upon an address to access. Note that the port 104 of FIG. 2 corresponds to the port 104 of FIG. 3. These have been carried out by the related art.

Next, problems which occur when the movement of a virtualized storage is carried out by the related art in order to move the virtualized storage 111A corresponding to the logical unit of the storage device 105C in FIG. 1 to the logical unit of the storage device 105D of the storage system 103D as indicated by arrow 121 will be described with reference to FIGS. 7 to 10. In the following embodiment, a description will be made assuming that the switch 101A is an origin of movement of the virtualized storage and the switch 101B is a destination of movement of the virtualized storage.

FIG. 7 is a diagram showing an example of a structure of the name management table 205D2 of the switch 101B before the virtualized storage 111A moves. In the example of FIG. 7, six entries are used in connection with the storage system 103D and four entries are used in connection with the switches 101A and 101C.

FIGS. 8 and 9 are diagrams showing examples of a structure of the name management table 205D2 of the switches 101A and 101B after the virtualized storage 111A has moved, respectively.

FIG. 10 is a diagram showing a processing flow from preparation to update of a virtual port in the switch 101B. The processing flow of FIG. 10 will be described with reference to FIGS. 7 to 9. Note that movement of a virtualized storage is performed by sending an instruction to the CPU 204B from the management terminal 207 via the management I/F 204D of the switch manager 204.

In order to move the virtualized storage 111A, the CPU 204B of the switch manager 204 generates a port ID on an entry 910G (step 1001), sets a port type to virtual F_port (step 1002), generates a WWPN (step 1003), and confirms whether or not a logical unit to be a destination of movement of the virtualized storage exists (step 1004). If the logical unit does not exist, the CPU 204B ends the processing. If an logical unit (entry 710F) to be a destination of movement exists, as shown in entries 910G and 910F, the CPU 204B sets MAP information 605 (step 1005), generates an LUN WWN 606 on the entry 910G (step 1006), and performs data migration processing for migrating data from the storage device 105C to the storage device 105D (step 1007). Although details of the data migration processing are not described in this embodiment, it is assumed that the data migration processing can also cope with data migration while input/output (I/O) of read or write is performed online (see Patent Applications 2000-152672 and 2000-63289).

After completion of the data migration processing, the CPU 204B informs the server 102 or the like, which was using the virtualized storage 111A, that the port ID and the WWPN have been changed (step 1008). As this notification frame, a remote state change notification frame which is a State Change Notification in an SNS of a Fibre Channel is used (State Change Notification (SCN) of an iSNS in an iSCSI). Since a port ID and a WWPN of an origin of movement are in an entry 710E and a port ID and a WWPN of a destination of movement are in an entry 910G, change of the WWPN occurs in the related art. Unless the WWPN of the virtual port 110A used in the server 102 is changed, the virtualized storage 111B after movement cannot be used. Suspension of an operation such as stopping an application on the server 102 once may be required for the change of the WWPN. After it has become possible to use the virtualized storage 111B in the server 102, the CPU 204B performs processing for deleting information (an entry 810E in FIG. 8) on the name management table which related to the virtualized storage 111A, deleting data in the logical unit of the storage system 103, or the like (step 1009).

Next, with reference to FIGS. 11 to 13, a method will be described with which a virtual port from a server does not have to be changed even if a virtualized storage is moved.

FIGS. 11 and 12 are diagrams showing, as a comparison with FIGS. 8 and 9, an example of a structure in which information of a borrower/lender 1101 indicating the port ID 502 of a borrower or a lender of the WWPN 504 is further added to the name management table 205D2 which the switches 101A and 101B generate, respectively.

FIG. 13 is a view showing an example of a processing flow about generation to update of a virtual port in the switch 101B and exchanges with the switch 101A. The processing flow of FIG. 13 will be hereinafter described with reference to FIGS. 11 and 12.

Steps 1301 to 1307 of FIG. 13 correspond to steps 1001 to 1007 of FIG. 10. However, step 1303 is generation of a provisional WWPN because a WWPN is changed in a later step. After performing data migration processing from the storage device 105C to the storage device 105D (step 1307), the CPU 204B sends a request to borrow a WWPN to the switch 101A (step 1308) and, if the WWPN can be borrowed, acquires the WWPN to be borrowed from the switch 101A (step 1309), changes the provisional WWPN to the borrowed WWPN, and set a port ID of a virtualized storage of an origin of movement to the borrower/lender 1101 of an entry 1210G (step 1310). Then, the CPU 204B informs the server 102 or the like, which used the virtualized storage 111A, that the port ID has been changed (step 1311).

In the present invention, since the WWPN of the entry 1210G is the same as the WWPN of the origin of movement of the virtualized storage, the virtualized storage 111A used in the server 102 can be continuously used with only change of the port ID even if it is really changed to the virtualized storage 111B.

On the other hand, upon receiving the request to borrow a WWPN, the CPU 204B of the switch 101A indicates that a pertinent WWPN is lent, and sets a port ID of the virtualized storage 111B of a destination of movement to the borrower/lender 1101 of the entry 1110E (step 1312), and sends the WWPN, which is lent to the switch 101B, and the port ID to the switch 101B (step 1313). After it has become possible to use the virtualized storage 111B in the server 102, the CPU 204B of the switch 101A performs processing of deleting information on a name management table relating to the virtualized storage 111A, deleting data in the logical unit of the storage system 103, and the like (step 1314).

Next, a second embodiment of the present invention will be described with reference to FIGS. 14 to 18. In the second embodiment, the case will be described in which, in an SAN, maintenance and management of name information of a virtual port is performed by pooling name information for a virtual port, which can be used commonly among plural switches and representative switches in advance and borrowing the name information from there. In the following description, although the description will be made assuming that a switch having a WWPN which can be used commonly is the switch 101A, the present invention is not limited to this, and any switch may have the WWPN. Note that the borrower/lender 1101 may be divided into items of a borrower and a lender or may be in other table formats.

FIG. 14 is a diagram showing an example of a structure of the name management table 205D2 at the time when a virtualized storage uses a WWPN, which can be used commonly, in the switch 101A. Here, a WWPN for a virtual port which can be used commonly is registered in advance. An entry 1420 is an entry of the WWPN which can be used commonly and, for ease of explanation, the port ID 502 is set to a fixed range (in FIG. 14, 02C100 to 02EF00).

FIG. 15 is a diagram showing an example of a structure of the name management table 205D2 of the switch 101A before and after movement of a virtualized storage.

FIG. 16 is a diagram showing an example of a structure of the name management table 205D2 of the switch 101B at the time of generation and update of a virtualized storage.

FIG. 17 is a diagram showing an example of a processing_flow for generating a virtual port in a switch.

FIG. 18 is a diagram showing an example of a processing_flow about generation to update of a virtual port in the switch 101A and exchanges with the switch 101B. The processing flow of FIGS. 17 and 18 will be hereinafter described with reference to FIGS. 15 and 16.

Steps 1701 to 1706 of FIG. 17 correspond to steps 1301 to 1306 of FIG. 13. However, steps 1701 and 1703 are processing for acquiring a port ID and a WWPN from an area which can be used commonly (here, an entry 1420A). After acquiring the port ID and the WWPN, the CPU 204B set the acquired port ID to the borrower/lender 1101 (step 1703).

Steps 1801 to 1811 of FIG. 18 correspond to steps 1301 to 1311 of FIG. 13. FIG. 18 is different from FIG. 13 only in that a switch is changed to a switch having a WWPN which can be commonly used by acquirers of the WWPN (steps 1808 to 1810).

On the other hand, upon receiving a request to borrow a WWPN, the CPU 204B of the switch 101A deletes the pertinent WWPN by returning it to a commonly used area (in FIG. 15, an entry 1520A) and also deletes a port ID of a virtualized storage of a destination of movement to the borrower/lender 1101 of an entry 1510E by lending it to the switch 101B (step 1812). Then, the CPU 204B sets the port ID of the switch 101B, from which the request to borrow the WWPN was sent, to the borrower/lender 1101 of the entry 1520A of the switch 101A and sends the WWPN, which is lent to the switch 101B, and the port ID to the switch 101B (step 1814). After it has become possible to use the virtualized storage 111B in the server 102, the CPU 204B performs processing for deleting information on the name management table which related to the virtualized storage 111A, deleting data in the logical unit of the storage system 103, or the like (step 1815).

Next, a third embodiment of the present invention will be described with reference to FIGS. 19 and 20. Here, an example in which the structure of the switch of FIG. 2 is included in the structure of the storage system shown in FIG. 4 will be described.

FIG. 19 is a diagram showing an example of a structure of a storage system such as a RAID apparatus incorporating a switch function. A storage system 1901 comprises: plural link interfaces 1902A which control a physical layer and a data link layer of a Fibre Channel for connecting the switch 101, the server 102, and the storage system 103; plural link interfaces 1902B which control a physical layer and a data link layer of the Ethernet; plural link interfaces 1902C for accessing a storage on a file base such as a network attached storage (NAS); plural routing processor 1903 as in FIG. 2, plural disk adapters 1906 for accessing the plural storage devices 304; plural cache adapters 1905 which control a cache memory for each disk adapter 1906; the storage manager 305 which performs system management and volume management of a storage system, routing control of a switch, and the like; the storage systems interconnect controller 306 for connecting storage systems, and the like. The structure of the storage manager 305 is the same as that illustrated in FIG. 3.

A representative program and table of the storage manager has a structure in which a representative program and table 205 and the like in the switch manager of FIG. 2 and a representative program and table 306 in the storage manager shown in FIG. 3 are combined. A representative program and table of a routing processor has a structure in which a representative program and table 206 and the like in the routing processor of FIG. 2 are combined.

FIG. 20 is a diagram showing an example of a structure of an SAN and a virtual port in the case in which the switch 101B and the storage system 103D shown in FIG. 1 are replaced by the storage system 1901 incorporating a switch function shown in FIG. 19.

A description of the case in which the virtualized storage 111A of FIG. 20 is moved (arrow 2021) to a virtualized storage 2011A of the storage system 1901 will be omitted because it can be easily analogized from the descriptions in the first and second embodiments.

Note that, although a magnetic medium is often used as the storage device 105, other media such as an optical medium may be used. In addition, the program described in the present invention may be transferred from a storage medium such as a CD-ROM or may be downloaded from other devices through a network.

According to the present invention, name information of a virtual port can be maintained and managed by movement or reconstruction of a virtualized storage among plural switches, replacement of a switch, and the like. In addition, movement or the like of a virtualized storage can be performed without interruption in the case in which a server, which is required to have high availability, performs operation processing using a virtualized storage. 

1. An information processing system including: a first switch; a first storage system connected to the first switch; a second switch connected to the first switch; and a second storage system connected to the second switch, the first switch comprising: plural ports for making connection to the first storage system and the second switch; a CPU controlling the first switch; and a memory storing a first program and information, wherein the first program is provided with a section for, when a virtualized storage not existing physically is moved from the second switch to the first switch, setting a virtual port of the virtualized storage, a section for associating the virtualized storage with the first storage system, a section for sending a request to borrow a port name of a virtual port at the time when the virtualized storage exists in the second switch to the second switch, a section for receiving the port name from the second switch, and a section for setting the received port name in a virtual port of the virtualized storage moved to the first switch.
 2. An information processing system according to claim 1 wherein the memory stores the port name associating it with a logical unit number of the first storage system, and lender information indicating a lender of the port name.
 3. An information processing system according to claim 1, wherein: the second switch is provided with plural ports for making connection with the second storage system and the first switch, a CPU controlling the second switch, and a memory storing a second program and information, and the second program is provided with a section for receiving a request to borrow the port name from the first switch and a section for sending a port name corresponding to the request to the first switch.
 4. In an information processing system having plural switches connected to each other, a first switch comprising: plural ports for making connection with other switches; a CPU controlling the first switch; and a memory storing a first program and information, wherein the memory is provided with a common area storing a port name which is commonly used by the plural switches.
 5. An information processing system according to claim 4, wherein: the first switch is connected to a first storage system, and the first program is provided with a section for acquiring the port name from the common area, a section for setting a virtual port of a virtualized storage not existing physically, a section for associating the virtualized storage with the first storage system, and a section for setting the acquired port name in the virtual port.
 6. An information processing system according to claim 4, wherein: a second switch is connected to a second storage system and is provided with a port for making connection with the first switch, a CPU controlling the second switch, and a memory storing a second program and information, and the second program is provided with a section for setting a virtual port of a virtualized storage not existing physically, a section for associating the virtualized storage and the second storage system, a section for sending a request to borrow a port name of the virtual port stored in the common area to the first switch, a section for receiving the port name from the second switch, and a section for setting the received port name in the virtual port.
 7. A first switch connected to a first storage system and a second switch, the first switch comprising: plural ports for making connection to the first storage system and the second switch; a CPU controlling the first switch; and a memory storing a first program and information, wherein the first program is provided with a section for, when a virtualized storage not existing physically is moved from the second switch to the first switch, setting a virtual port of the virtualized storage, a section for associating the virtualized storage with the first storage system, a section for sending a request to borrow a port name of a virtual port at the time when the virtualized storage exists in the second switch to the second switch, a section for receiving the port name from the second switch, and a section for setting the received port name in a virtual port of the virtualized storage moved to the first switch.
 8. A first switch according to claim 7, wherein the memory stores the port name associating it with a logical unit number of the first storage system, and lender information indicating a lender of the port name.
 9. A first switch connected to a second switch, the first switch comprising: plural ports for making connection with the second switch; a CPU controlling the first switch; and a memory storing a program and information, wherein the memory is provided with a common area storing a port name which is commonly used by the first and second switches.
 10. A first switch according to claim 9, wherein: the first switch is connected to a first storage system, and the first program is provided with a section for acquiring the port name from the common area, a section for setting a virtual port of a virtualized storage not existing physically, a section for associating the virtualized storage with the first storage system, and a section for setting the acquired port name in the virtual port.
 11. A second switch connected to a second storage system and a first switch, the second switch comprising: plural ports for making connection to the second storage system and the first switch; a CPU controlling the second switch; and a memory storing a program and information, wherein the program is provided with a section for receiving a request to borrow a port name from the first switch, and a section for sending a port name corresponding to the request to the first switch.
 12. A second switch according to claim 11 wherein the memory is provided with a common area storing a port name which is commonly used by the first and second switches. 